#include "common/threadpool_manager.h"
#include <threadpool.h>
#include <stdlib.h>

static threadpool_t *pool;

void InitThreadPool() {
  if (!pool) {
    pool = threadpool_create(5, MAX_QUEUE, 0);
    //任务创建出来的时 我们给定它5个线程
    //如果任务太多的话 服务不过来了 线程已经不够使了
    //这个时候有个队列 这些任务会被扔到队列里面
    //一旦有一个线程空闲出来以后 我们就把队列里面处于头这个位置的任务拿出来去执行
    //一直到队列清空
  }
}

void ThreadPoolExecute(Runnable *runnable) {
  threadpool_add(pool, runnable->run, runnable->argument, 0);
}

void DestroyThreadPool() {
  if (pool) {
    threadpool_destroy(pool, 0);
    pool = NULL;
  }
}
